package com.cloudeasy.provider.service;

import com.cloudeasy.base.dto.LoginAuthDto;
import com.cloudeasy.core.annotation.OperationLogDto;
import com.cloudeasy.core.support.IService;
import com.cloudeasy.provider.model.domain.UacLog;
import com.cloudeasy.provider.model.dto.log.UacLogMainDto;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * Create By 郭金宝 on 2019/1/11.<br>
 */
public interface UacLogService extends IService<UacLog> {

    /**
     * Save log int.
     *
     * @param uacLog       the uac log
     * @param loginAuthDto the login auth dto
     *
     * @return the int
     */
    int saveLog(UacLog uacLog, LoginAuthDto loginAuthDto);

    /**
     * Query user log list with user id list.
     *
     * @param userId the user id
     *
     * @return the list
     */
    List<UacLog> selectUserLogListByUserId(Long userId);

    /**
     * Save operation log integer.
     *
     * @param operationLogDto the operation log dto
     *
     * @return the integer
     */
    Integer saveOperationLog(OperationLogDto operationLogDto);

    /**
     * Query log list with page wrapper.
     *
     * @param uacLogQueryDtoPage the uac log query dto page
     *
     * @return the wrapper
     */
    PageInfo queryLogListWithPage(UacLogMainDto uacLogQueryDtoPage);
}
